*!* File         : WinContants.H
*!* Author       : Jijo Pappachan, jijopappachan@gmail.com
*!* Date         : 07/23/11 01:02:48 PM
*!* Copyright    :
*!* Description  : Windows contants for general API functions
*!* Revision Info: 1.0
*!* ================================================================================

**************************************************
*         Contants for menu management APIs      *
**************************************************
#Define MENUITEMINFO_SIZE  						48
*!*	#Define MF_BYPOSITION					0x00000400

*!*	#Define MIIM_STATE       				0x00000001
#Define MIIM_ID          			   	0x00000002
*!*	#Define MIIM_SUBMENU     			   	0x00000004
#Define MIIM_CHECKMARKS  			   	0x00000008
#Define MIIM_TYPE        			   	0x00000016	&&0x00000010
*!*	#Define MIIM_DATA        			   	0x00000020
*!*	#Define MIIM_STRING      			   	0x00000040
*!*	#Define MIIM_BITMAP      			   	0x00000080
*!*	#Define MIIM_FTYPE       			   	0x00000100

#Define MFS_ENABLED         		   	0x00000000
#Define MFS_UNCHECKED       			0x00000000
#Define MFS_UNHILITE        			0x00000000
*!*	#Define MFS_DISABLED        			0x00000003
#Define MFS_CHECKED         			0x00000008
#Define MFS_HILITE          			0x00000080

#Define MFT_STRING 								 0
#Define TPM_RETURNCMD						0x0100

*!*	***************************************************
*!*	*     Device Parameters for GetDeviceCaps()       *
*!*	***************************************************
*!*	If #
*!*	#DEFINE LOGPIXELSX    							88    && Logical pixels/inch in X
*!*	#DEFINE LOGPIXELSY    							90    && Logical pixels/inch in Y

*************************************************
*                  Window styles                *
*************************************************
#Define GWL_STYLE                             -16
#Define WS_NORMAL  								1
#Define WS_OVERLAPPED 							0
#Define WS_CAPTION  					 0xC00000
#Define WS_SYSMENU  					  0x80000
#Define WS_THICKFRAME  					  0x40000
#Define WS_MINIMIZEBOX                    0x20000
#Define WS_MAXIMIZEBOX                    0x10000
#Define WS_DLGFRAME					   0x00400000
#Define WS_VISIBLE					   0x10000000

#Define GW_HWNDFIRST							0
#Define GW_HWNDLAST								1
#Define GW_HWNDNEXT								2
#Define GW_HWNDPREV								3
#Define GW_OWNER								4 
#Define GW_CHILD 								5
#Define GW_ENABLEDPOPUP							6

*************************************************
*            Window extended styles             *
*************************************************
#Define GWL_EXSTYLE							  -20
#Define WS_EX_DLGMODALFRAME    					1
#Define WS_EX_NOPARENTNOTIFY   					4
#Define WS_EX_TOPMOST          					8
#Define WS_EX_ACCEPTFILES     				   16
#Define WS_EX_TRANSPARENT     				   32
#Define WS_EX_MDICHILD        				   64
#Define WS_EX_TOOLWINDOW                      128
#Define WS_EX_WINDOWEDGE                      256
#Define WS_EX_CLIENTEDGE                      512
#Define WS_EX_CONTEXTHELP                    1024
#Define WS_EX_CONTROLPARENT               0x10000
#Define WS_EX_STATICEDGE                  0x20000
#Define WS_EX_APPWINDOW                   0x40000

*************************************************
*            Cursor contants                    *
*************************************************
#Define IDC_APPSTARTING						32650
#Define IDC_HAND							32649
#Define IDC_ARROW							32512
#Define IDC_CROSS							32515
#Define IDC_IBEAM							32513
#Define IDC_ICON							32641
#Define IDC_NO								32648
#Define IDC_SIZE							32640
#Define IDC_SIZEALL							32646
#Define IDC_SIZENESW						32643
#Define IDC_SIZENS							32645
#Define IDC_SIZENWSE						32642
#Define IDC_SIZEWE							32644
#Define IDC_UPARROW							32516
#Define IDC_WAIT							32514

*************************************************
*            Virtual-Key Codes                  *
*http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx
*************************************************
#DEFINE VK_LBUTTON                           0x01		&&Left mouse button
#DEFINE VK_RBUTTON                           0x02		&&Right mouse button
#DEFINE VK_CANCEL                            0x03		&&Control-break processing
#DEFINE VK_MBUTTON                           0x04		&&Middle mouse button (three-button mouse)
#DEFINE VK_XBUTTON1                          0x05		&&X1 mouse button
#DEFINE VK_XBUTTON2                          0x06		&&X2 mouse button
#DEFINE VK_BACK                              0x08		&&BACKSPACE key
#DEFINE VK_TAB                               0x09		&&TAB key
#DEFINE VK_CLEAR                             0x0C		&&CLEAR key
#DEFINE VK_RETURN                            0x0D		&&ENTER key
#DEFINE VK_SHIFT                             0x10		&&SHIFT key
#DEFINE VK_CONTROL                           0x11		&&CTRL key
#DEFINE VK_MENU                              0x12		&&ALT key
#DEFINE VK_PAUSE                             0x13		&&PAUSE key
#DEFINE VK_CAPITAL                           0x14		&&CAPS LOCK key
#DEFINE VK_KANA                              0x15		&&IME Kana mode
#DEFINE VK_HANGUEL                           0x15		&&IME Hanguel mode (maintained for compatibility; use
#DEFINE VK_HANGUL                            0x15		&&IME Hangul mode
#DEFINE VK_JUNJA                             0x17		&&IME Junja mode
#DEFINE VK_FINAL                             0x18		&&IME final mode
#DEFINE VK_HANJA                             0x19		&&IME Hanja mode
#DEFINE VK_KANJI                             0x19		&&IME Kanji mode
*!*	#DEFINE VK_ESCAPE                            0x1B		&&ESC key
#DEFINE VK_CONVERT                           0x1C		&&IME convert
#DEFINE VK_NONCONVERT                        0x1D		&&IME nonconvert
#DEFINE VK_ACCEPT                            0x1E		&&IME accept
#DEFINE VK_MODECHANGE                        0x1F		&&IME mode change request
#DEFINE VK_SPACE                             0x20		&&SPACEBAR
#DEFINE VK_PRIOR                             0x21		&&PAGE UP key
#DEFINE VK_NEXT                              0x22		&&PAGE DOWN key
#DEFINE VK_END                               0x23		&&END key
#DEFINE VK_HOME                              0x24		&&HOME key
*!*	#DEFINE VK_LEFT                              0x25		&&LEFT ARROW key
*!*	*!*	#DEFINE VK_UP                                0x26		&&UP ARROW key
*!*	#DEFINE VK_RIGHT                             0x27		&&RIGHT ARROW key
*!*	#DEFINE VK_DOWN                              0x28		&&DOWN ARROW key
#DEFINE VK_SELECT                            0x29		&&SELECT key
#DEFINE VK_PRINT                             0x2A		&&PRINT key
#DEFINE VK_EXECUTE                           0x2B		&&EXECUTE key
#DEFINE VK_SNAPSHOT                          0x2C		&&PRINT SCREEN key
#DEFINE VK_INSERT                            0x2D		&&INS key
#DEFINE VK_DELETE                            0x2E		&&DEL key
#DEFINE VK_HELP                              0x2F		&&HELP key
#DEFINE VK_LWIN                              0x5B		&&Left Windows key (Natural keyboard)
#DEFINE VK_RWIN                              0x5C		&&Right Windows key (Natural keyboard)
#DEFINE VK_APPS                              0x5D		&&Applications key (Natural keyboard)
#DEFINE VK_SLEEP                             0x5F		&&Computer Sleep key
#DEFINE VK_NUMPAD0                           0x60		&&Numeric keypad 0 key
#DEFINE VK_NUMPAD1                           0x61		&&Numeric keypad 1 key
#DEFINE VK_NUMPAD2                           0x62		&&Numeric keypad 2 key
#DEFINE VK_NUMPAD3                           0x63		&&Numeric keypad 3 key
#DEFINE VK_NUMPAD4                           0x64		&&Numeric keypad 4 key
#DEFINE VK_NUMPAD5                           0x65		&&Numeric keypad 5 key
#DEFINE VK_NUMPAD6                           0x66		&&Numeric keypad 6 key
#DEFINE VK_NUMPAD7                           0x67		&&Numeric keypad 7 key
#DEFINE VK_NUMPAD8                           0x68		&&Numeric keypad 8 key
#DEFINE VK_NUMPAD9                           0x69		&&Numeric keypad 9 key
#DEFINE VK_MULTIPLY                          0x6A		&&Multiply key
#DEFINE VK_ADD                               0x6B		&&Add key
#DEFINE VK_SEPARATOR                         0x6C		&&Separator key
#DEFINE VK_SUBTRACT                          0x6D		&&Subtract key
#DEFINE VK_DECIMAL                           0x6E		&&Decimal key
#DEFINE VK_DIVIDE                            0x6F		&&Divide key
#DEFINE VK_F1                                0x70		&&F1 key
#DEFINE VK_F2                                0x71		&&F2 key
#DEFINE VK_F3                                0x72		&&F3 key
#DEFINE VK_F4                                0x73		&&F4 key
#DEFINE VK_F5                                0x74		&&F5 key
#DEFINE VK_F6                                0x75		&&F6 key
#DEFINE VK_F7                                0x76		&&F7 key
#DEFINE VK_F8                                0x77		&&F8 key
#DEFINE VK_F9                                0x78		&&F9 key
#DEFINE VK_F10                               0x79		&&F10 key
#DEFINE VK_F11                               0x7A		&&F11 key
#DEFINE VK_F12                               0x7B		&&F12 key
#DEFINE VK_F13                               0x7C		&&F13 key
#DEFINE VK_F14                               0x7D		&&F14 key
#DEFINE VK_F15                               0x7E		&&F15 key
#DEFINE VK_F16                               0x7F		&&F16 key
#DEFINE VK_F17                               0x80H		&&F17 key
#DEFINE VK_F18                               0x81H		&&F18 key
#DEFINE VK_F19                               0x82H		&&F19 key
#DEFINE VK_F20                               0x83H		&&F20 key
#DEFINE VK_F21                               0x84H		&&F21 key
#DEFINE VK_F22                               0x85H		&&F22 key
#DEFINE VK_F23                               0x86H		&&F23 key
#DEFINE VK_F24                               0x87H		&&F24 key
#DEFINE VK_NUMLOCK                           0x90		&&NUM LOCK key
#DEFINE VK_SCROLL                            0x91		&&SCROLL LOCK key
#DEFINE VK_LSHIFT                            0xA0		&&Left SHIFT key
#DEFINE VK_RSHIFT                            0xA1		&&Right SHIFT key
#DEFINE VK_LCONTROL                          0xA2		&&Left CONTROL key
#DEFINE VK_RCONTROL                          0xA3		&&Right CONTROL key
#DEFINE VK_LMENU                             0xA4		&&Left MENU key
#DEFINE VK_RMENU                             0xA5		&&Right MENU key
#DEFINE VK_BROWSER_BACK                      0xA6		&&Browser Back key
#DEFINE VK_BROWSER_FORWAR                    0xA7		&&Browser Forward key
#DEFINE VK_BROWSER_REFRES                    0xA8		&&Browser Refresh key
#DEFINE VK_BROWSER_STOP                      0xA9		&&Browser Stop key
#DEFINE VK_BROWSER_SEARCH                    0xAA		&&Browser Search key
#DEFINE VK_BROWSER_FAVORI                    0xAB		&&Browser Favorites key
#DEFINE VK_BROWSER_HOME                      0xAC		&&Browser Start and Home key
#DEFINE VK_VOLUME_MUTE                       0xAD		&&Volume Mute key
#DEFINE VK_VOLUME_DOWN                       0xAE		&&Volume Down key
#DEFINE VK_VOLUME_UP                         0xAF		&&Volume Up key
#DEFINE VK_MEDIA_NEXT_TRA                    0xB0		&&Next Track key
#DEFINE VK_MEDIA_PREV_TRA                    0xB1		&&Previous Track key
#DEFINE VK_MEDIA_STOP                        0xB2		&&Stop Media key
#DEFINE VK_MEDIA_PLAY_PAU                    0xB3		&&Play/Pause Media key
#DEFINE VK_LAUNCH_MAIL                       0xB4		&&Start Mail key
#DEFINE VK_LAUNCH_MEDIA_S                    0xB5		&&Select Media key
#DEFINE VK_LAUNCH_APP1                       0xB6		&&Start Application 1 key
#DEFINE VK_LAUNCH_APP2                       0xB7		&&Start Application 2 key
#DEFINE VK_OEM_1                             0xBA		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_PLUS                          0xBB		&&For any country/region, the '+' key
#DEFINE VK_OEM_COMMA                         0xBC		&&For any country/region, the ',' key
#DEFINE VK_OEM_MINUS                         0xBD		&&For any country/region, the '-' key
#DEFINE VK_OEM_PERIOD                        0xBE		&&For any country/region, the '.' key
#DEFINE VK_OEM_2                             0xBF		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_3                             0xC0		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_4                             0xDB		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_5                             0xDC		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_6                             0xDD		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_7                             0xDE		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_8                             0xDF		&&Used for miscellaneous characters; it can vary by keyboard.
#DEFINE VK_OEM_102                           0xE2		&&Either the angle bracket key or the backslash key on the RT 102-key keyboard
#DEFINE VK_PROCESSKEY                        0xE5		&&IME PROCESS key
#DEFINE VK_PACKET                            0xE7		&&Used to pass Unicode characters as if they were keystrokes. The
#DEFINE VK_ATTN                              0xF6		&&Attn key
#DEFINE VK_CRSEL                             0xF7		&&CrSel key
#DEFINE VK_EXSEL                             0xF8		&&ExSel key
#DEFINE VK_EREOF                             0xF9		&&Erase EOF key
#DEFINE VK_PLAY                              0xFA		&&Play key
#DEFINE VK_ZOOM                              0xFB		&&Zoom key
#DEFINE VK_NONAME                            0xFC		&&Reserved
#DEFINE VK_PA1                               0xFD		&&PA1 key
#DEFINE VK_OEM_CLEAR                         0xFE		&&Clear keyey

*************************************************
*            Treeview constants                 *
* http://rapidq.phatcode.net/include/commctrl32.inc
*************************************************
#define WC_TREEVIEW				   "SysTreeView32"

#Define TVI_FIRST							-65535
#Define TVI_ROOT							-65536

#DEFINE TVSIL_NORMAL							 0
#DEFINE TVSIL_STATE	                             2

#DEFINE TVS_HASBUTTONS							 1
#DEFINE TVS_HASLINES							 2
#DEFINE TVS_LINESATROOT							 4
#DEFINE TVS_EDITLABELS							 8
#DEFINE TVS_DISABLEDRAGDROP						16
#DEFINE TVS_SHOWSELALWAYS						32
#DEFINE TVS_RTLREADING 							64
#DEFINE TVS_CHECKBOXES 						   256
#DEFINE TVS_NOTOOLTIPS 						   128
#DEFINE TVS_TRACKSELECT 					   512
#DEFINE TVS_SINGLEEXPAND 					  1024
#DEFINE TVS_INFOTIP 						  2048
#DEFINE TVS_NOSCROLL 						  8192
#DEFINE TVS_FULLROWSELECT 					  4096
#DEFINE TVS_NONEVENHEIGHT 					 16384
#DEFINE TVS_NOHSCROLL						-32768

#Define TVIF_TEXT								 1
#Define TVIF_IMAGE								 2
#Define TVIF_PARAM						    	 4
#DEFINE TVIF_STATE								 8
#DEFINE TVIF_HANDLE								16
#DEFINE TVIF_SELECTEDIMAGE						32
#DEFINE TVIF_CHILDREN							64
#DEFINE TVIF_INTEGRAL						   128

#DEFINE TV_FIRST							  4352
#DEFINE TVM_INSERTITEM					  TV_FIRST
#DEFINE TVM_DELETEITEM				  TV_FIRST + 1
#DEFINE TVM_EXPAND					  TV_FIRST + 2
#DEFINE TVM_GETITEMRECT				  TV_FIRST + 4
#DEFINE TVM_GETCOUNT				  TV_FIRST + 5
#DEFINE TVM_GETINDENT				  TV_FIRST + 6
#DEFINE TVM_SETINDENT				  TV_FIRST + 7
#DEFINE TVM_GETIMAGELIST			  TV_FIRST + 8
#DEFINE TVM_SETIMAGELIST			  TV_FIRST + 9
#DEFINE TVM_GETNEXTITEM				  TV_FIRST +10
#DEFINE TVM_SELECTITEM				  TV_FIRST +11
#DEFINE TVM_GETITEM					  TV_FIRST +12
#DEFINE TVM_SETITEM					  TV_FIRST +13
#DEFINE TVM_EDITLABEL				  TV_FIRST +14
#DEFINE TVM_GETEDITCONTROL			  TV_FIRST +15
#DEFINE TVM_GETVISIBLECOUNT			  TV_FIRST +16
#DEFINE TVM_HITTEST					  TV_FIRST +17
#DEFINE TVM_CREATEDRAGIMAGE			  TV_FIRST +18
#DEFINE TVM_SORTCHILDREN			  TV_FIRST +19
#DEFINE TVM_ENSUREVISIBLE			  TV_FIRST +20
#DEFINE TVM_SORTCHILDRENCB			  TV_FIRST +21
#DEFINE TVM_ENDEDITLABELNOW			  TV_FIRST +22
#DEFINE TVM_GETISEARCHSTRING		  TV_FIRST +23
#DEFINE TVM_SETTOOLTIPS 			  TV_FIRST +24
#DEFINE TVM_GETTOOLTIPS 			  TV_FIRST +25
#DEFINE TVM_SETINSERTMARK 			  TV_FIRST +26
#DEFINE TVM_SETITEMHEIGHT 			  TV_FIRST +27
#DEFINE TVM_GETITEMHEIGHT 			  TV_FIRST +28
#DEFINE TVM_SETBKCOLOR 				  TV_FIRST +29
#DEFINE TVM_GETBKCOLOR 				  TV_FIRST +31
#DEFINE TVM_SETTEXTCOLOR 			  TV_FIRST +30
#DEFINE TVM_GETTEXTCOLOR 			  TV_FIRST +32
#DEFINE TVM_SETSCROLLTIME 			  TV_FIRST +33
#DEFINE TVM_GETSCROLLTIME 			  TV_FIRST +34
#DEFINE TVM_SETINSERTMARKCOLOR 		  TV_FIRST +37
#DEFINE TVM_GETINSERTMARKCOLOR 		  TV_FIRST +38
#DEFINE TVM_GETITEMSTATE 			  TV_FIRST +39
#DEFINE TVM_SETLINECOLOR 			  TV_FIRST +40
#DEFINE TVM_GETLINECOLOR 			  TV_FIRST +41
#DEFINE TVM_SETUNICODEFORMAT 				  8197
#DEFINE TVM_GETUNICODEFORMAT 				  8198

#DEFINE NM_FIRST								 0
#DEFINE NM_OUTOFMEMORY 				   NM_FIRST- 1
#DEFINE NM_CLICK 					   NM_FIRST- 2
#DEFINE NM_DBLCLK 					   NM_FIRST- 3
#DEFINE NM_RETURN 					   NM_FIRST- 4
#DEFINE NM_RCLICK 					   NM_FIRST- 5
#DEFINE NM_RDBLCLK 					   NM_FIRST- 6
#DEFINE NM_SETFOCUS 				   NM_FIRST- 7
#DEFINE NM_KILLFOCUS 				   NM_FIRST- 8
#DEFINE NM_CUSTOMDRAW 				   NM_FIRST-12
#DEFINE NM_HOVER 					   NM_FIRST-13
#DEFINE NM_NCHITTEST 				   NM_FIRST-14
#DEFINE NM_KEYDOWN 					   NM_FIRST-15
#DEFINE NM_RELEASEDCAPTURE 			   NM_FIRST-16
#DEFINE NM_SETCURSOR 				   NM_FIRST-17
#DEFINE NM_CHAR 					   NM_FIRST-18
#DEFINE NM_TOOLTIPSCREATED 			   NM_FIRST-19

#DEFINE TVIS_FOCUSED							 1
#DEFINE TVIS_SELECTED							 2
#DEFINE TVIS_CUT								 4
#DEFINE TVIS_DROPHILITED						 8
#DEFINE TVIS_BOLD							   	16
#DEFINE TVIS_EXPANDED							32
#DEFINE TVIS_EXPANDEDONCE						64
#DEFINE TVIS_OVERLAYMASK					  3840
#DEFINE TVIS_STATEIMAGEMASK					 -4096
#DEFINE TVIS_USERMASK						 -4096

#DEFINE TVE_COLLAPSE 						0x0001 
#DEFINE TVE_EXPAND 							0x0002

#DEFINE TVN_FIRST							  -400
#DEFINE TVN_SELCHANGING				  TVN_FIRST- 1
#DEFINE TVN_SELCHANGED				  TVN_FIRST- 2
#DEFINE TVN_GETDISPINFO				  TVN_FIRST- 3
#DEFINE TVN_SETDISPINFO				  TVN_FIRST- 4
#DEFINE TVN_ITEMEXPANDING			  TVN_FIRST- 5
#DEFINE TVN_ITEMEXPANDED			  TVN_FIRST- 6
#DEFINE TVN_BEGINDRAG				  TVN_FIRST- 7
#DEFINE TVN_BEGINRDRAG				  TVN_FIRST- 8
#DEFINE TVN_DELETEITEM				  TVN_FIRST- 9
#DEFINE TVN_BEGINLABELEDIT			  TVN_FIRST-10
#DEFINE TVN_ENDLABELEDIT			  TVN_FIRST-11
#DEFINE TVN_KEYDOWN					  TVN_FIRST-12
#DEFINE TVN_GETINFOTIP				  TVN_FIRST-13
#DEFINE TVN_SINGLEEXPAND			  TVN_FIRST-15

#DEFINE TVGN_ROOT								 0
#DEFINE TVGN_NEXT								 1
#DEFINE TVGN_PREVIOUS							 2
#DEFINE TVGN_PARENT								 3
#DEFINE TVGN_CHILD								 4
#DEFINE TVGN_FIRSTVISIBLE						 5
#DEFINE TVGN_NEXTVISIBLE						 6
#DEFINE TVGN_PREVIOUSVISIBLE					 7
#DEFINE TVGN_DROPHILITE							 8
#DEFINE TVGN_CARET								 9

#DEFINE TVC_UNKNOWN								 0
#DEFINE TVC_BYMOUSE								 1
#DEFINE TVC_BYKEYBOARD							 2

***************************************************
*        RichEditor control constants             *
* *************************************************
#DEFINE WC_RICHEDIT						"RichEdit"
#DEFINE ES_LEFT              			0x00000000
#DEFINE ES_CENTER            			0x00000001
#DEFINE ES_RIGHT             			0x00000002
#DEFINE ES_MULTILINE         			0x00000004
#DEFINE ES_UPPERCASE         			0x00000008
#DEFINE ES_LOWERCASE         			0x00000010
#DEFINE ES_PASSWORD          			0x00000020
#DEFINE ES_AUTOVSCROLL       			0x00000040
#DEFINE ES_AUTOHSCROLL       			0x00000080
#DEFINE ES_NOHIDESEL         			0x00000100
#DEFINE ES_OEMCONVERT        			0x00000400
#DEFINE ES_READONLY          			0x00000800
#DEFINE ES_WANTRETURN        			0x00001000
#DEFINE ES_NUMBER            			0x00002000

***************************************************
*           Listbox control constants             *
* *************************************************
#Define LB_ERR					-1
#Define LB_ADDFILE              0x0196
#Define LB_ADDSTRING            0x0180
#Define LB_DELETESTRING         0x0182
#Define LB_DIR                  0x018D
#Define LB_FINDSTRING           0x018F
#Define LB_FINDSTRINGEXACT      0x01A2
#Define LB_GETANCHORINDEX       0x019D
#Define LB_GETCARETINDEX        0x019F
#Define LB_GETCOUNT             0x018B
#Define LB_GETCURSEL            0x0188
#Define LB_GETHORIZONTALEXTENT  0x0193
#Define LB_GETITEMDATA          0x0199
#Define LB_GETITEMHEIGHT        0x01A1
#Define LB_GETITEMRECT          0x0198
#Define LB_GETLOCALE            0x01A6
#Define LB_GETSEL               0x0187
#Define LB_GETSELCOUNT          0x0190
#Define LB_GETSELITEMS          0x0191
#Define LB_GETTEXT              0x0189
#Define LB_GETTEXTLEN           0x018A
#Define LB_GETTOPINDEX          0x018E
#Define LB_INITSTORAGE          0x01A8
#Define LB_INSERTSTRING         0x0181
#Define LB_ITEMFROMPOINT        0x01A9
#Define LB_MSGMAX               0x01A8
#Define LB_MULTIPLEADDSTRING    0x01B1
#Define LB_RESETCONTENT         0x0184
#Define LB_SELECTSTRING         0x018C
#Define LB_SELITEMRANGE         0x019B
#Define LB_SELITEMRANGEEX       0x0183
#Define LB_SETANCHORINDEX       0x019C
#Define LB_SETCARETINDEX        0x019E
#Define LB_SETCOLUMNWIDTH       0x0195
#Define LB_SETCOUNT             0x01A7
#Define LB_SETCURSEL            0x0186
#Define LB_SETHORIZONTALEXTENT  0x0194
#Define LB_SETITEMDATA          0x019A
#Define LB_SETITEMHEIGHT        0x01A0
#Define LB_SETLOCALE            0x01A5
#Define LB_SETSEL               0x0185
#Define LB_SETTABSTOPS          0x0192
#Define LB_SETTOPINDEX          0x0197

****************************************************
*           ToolTip control constants              *
* **************************************************
#define TTS_ALWAYSTIP                  		   	0x01
#define TTS_NOPREFIX                    		0x02
#define TTS_NOANIMATE                   		0x10
#define TTS_NOFADE                      		0x20
#define TTS_BALLOON                     		0x40
#define TTS_CLOSE                       		0x80


#define ST_DEFAULT 								 0 
#DEFINE ST_KEEPUNDO 							 1
#DEFINE ST_SELECTION 							 2
#define CP_ACP 									 0

#DEFINE COLOR_INFOBK


#Define CSIDL_DESKTOP                   0x0000        &&// <desktop>
#Define CSIDL_INTERNET                  0x0001        &&// Internet Explorer (icon on desktop)
#Define CSIDL_PROGRAMS                  0x0002        &&// Start Menu\Programs
#Define CSIDL_CONTROLS                  0x0003        &&// My Computer\Control Panel
#Define CSIDL_PRINTERS                  0x0004        &&// My Computer\Printers
#Define CSIDL_PERSONAL                  0x0005        &&// My Documents
#Define CSIDL_FAVORITES                 0x0006        &&// <user name>\Favorites
#Define CSIDL_STARTUP                   0x0007        &&// Start Menu\Programs\Startup
#Define CSIDL_RECENT                    0x0008        &&// <user name>\Recent
#Define CSIDL_SENDTO                    0x0009        &&// <user name>\SendTo
#Define CSIDL_BITBUCKET                 0x000A        &&// <desktop>\Recycle Bin
#Define CSIDL_STARTMENU                 0x000B        &&// <user name>\Start Menu
#Define CSIDL_MYDOCUMENTS               0x000C        &&// logical "My Documents" desktop icon
#Define CSIDL_MYMUSIC                   0x000D        &&// "My Music" folder
#Define CSIDL_MYVIDEO                   0x000E        &&// "My Videos" folder


*!*	#Define HWND_TOP        (0)
#Define HWND_BOTTOM     (1)
#Define HWND_TOPMOST    (0xffffffff)
#Define HWND_NOTOPMOST  (0xfffffffe)

#Define WS_POPUP            0x80000000
#Define WS_CHILD            0x40000000
#Define WS_MINIMIZE         0x20000000
#Define WS_VISIBLE          0x10000000
#Define WS_DISABLED         0x08000000
#Define WS_CLIPSIBLINGS     0x04000000
#Define WS_CLIPCHILDREN     0x02000000
#Define WS_MAXIMIZE         0x01000000
#Define WS_BORDER           0x00800000
#Define WS_DLGFRAME         0x00400000
#Define WS_VSCROLL          0x00200000
#Define WS_HSCROLL          0x00100000
#Define WS_GROUP            0x00020000
#Define WS_TABSTOP          0x00010000
#Define WS_TILED            WS_OVERLAPPED
#Define WS_ICONIC           WS_MINIMIZE
#Define WS_SIZEBOX          WS_THICKFRAME
#Define WS_TILEDWINDOW      WS_OVERLAPPEDWINDOW
#Define WS_EX_RIGHT             0x00001000
#Define WS_EX_LEFT              0x00000000
#Define WS_EX_RTLREADING        0x00002000
#Define WS_EX_LTRREADING        0x00000000
#Define WS_EX_LEFTSCROLLBAR     0x00004000
#Define WS_EX_RIGHTSCROLLBAR    0x00000000
#Define WS_EX_OVERLAPPEDWINDOW  (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
#Define WS_EX_PALETTEWINDOW     (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
#Define WS_EX_LAYERED           0x00080000

*-- Show Window Constants
#Define SW_FORCEMINIMIZE  		11
#Define SW_HIDE  				0
#Define SW_MAXIMIZE  			3
#Define SW_MINIMIZE  			6
#Define SW_RESTORE  			9
#Define SW_SHOW  				5
#Define SW_SHOWDEFAULT  		10
#Define SW_SHOWMAXIMIZED  		3
#Define SW_SHOWMINIMIZED  		2
#Define SW_SHOWMINNOACTIVE  	7
#Define SW_SHOWNA  				8
#Define SW_SHOWNOACTIVATE  		4
#Define SW_SHOWNORMAL  			1

#define SWP_ASYNCWINDOWPOS			0x4000
#define SWP_DEFERERASE				0x2000
#define SWP_DRAWFRAME				0x0020
#define SWP_FRAMECHANGED			0x0020
#define SWP_HIDEWINDOW				0x0080
#define SWP_NOACTIVATE				0x0010
#define SWP_NOCOPYBITS				0x0100
#define SWP_NOMOVE					0x0002
#define SWP_NOOWNERZORDER			0x0200
#define SWP_NOREDRAW				0x0008
#define SWP_NOREPOSITION			0x0200
#define SWP_NOSENDCHANGING			0x0400
#define SWP_NOSIZE					0x0001
#define SWP_NOZORDER				0x0004
#define SWP_SHOWWINDOW				0x0040 

#define GWL_WNDPROC 					-4

*---------------------------------------------
*         Mouse Key constants                *
*---------------------------------------------
#define MK_CONTROL						0x0008
#define MK_LBUTTON						0x0001
#define MK_MBUTTON						0x0010
#define MK_RBUTTON						0x0002
#define MK_SHIFT						0x0004
#define MK_XBUTTON1						0x0020
#define MK_XBUTTON2						0x0040


*--------------------------------------------*
*                System colors               *
*--------------------------------------------*
#define COLOR_ACTIVEBORDER		10	&& Active window border.
#define COLOR_APPWORKSPACE		12	&& Background color of multiple document interface (MDI) applications.
#define COLOR_BTNFACE			15	&& Face color for three-dimensional display elements and for dialog box backgrounds.
#define COLOR_3DFACE			15	&& Face color for three-dimensional display elements and for dialog box backgrounds.
#define COLOR_3DSHADOW			16	&& Shadow color for three-dimensional display elements (for edges facing away from the light source).
#define COLOR_3DHIGHLIGHT		20	&& Highlight color for three-dimensional display elements (for edges facing the light source.)
#define COLOR_3DHILIGHT			20	&& Highlight color for three-dimensional display elements (for edges facing the light source.)
#define COLOR_BTNHIGHLIGHT		20	&& Highlight color for three-dimensional display elements (for edges facing the light source.)
#define COLOR_3DDKSHADOW		21	&& Dark shadow for three-dimensional display elements.
#define COLOR_3DLIGHT			22	&& Light color for three-dimensional display elements (for edges facing the light source.)

#define COLOR_BTNHILIGHT		20	&& Highlight color for three-dimensional display elements (for edges facing the light source.)
#define COLOR_BTNSHADOW			16	&& Shadow color for three-dimensional display elements (for edges facing away from the light source).
#define COLOR_BTNTEXT			18	&& Text on push buttons.
#define COLOR_CAPTIONTEXT		 9	&& Text in caption, size box, and scroll bar arrow box.

#define COLOR_GRADIENTACTIVECAPTION	27	&& Right side color in the color gradient of an active window's title bar.
#define COLOR_GRADIENTINACTIVECAPTION	28	&& Right side color in the color gradient of an inactive window's title barside color.
#define COLOR_GRAYTEXT			17	&& Grayed (disabled) text
#define COLOR_HIGHLIGHT			13	&& Item(s) selected in a control.
#define COLOR_HIGHLIGHTTEXT		14	&& Text of item(s) selected in a control.
#define COLOR_HOTLIGHT			26	&& Color for a hyperlink or hot-tracked item.
#define COLOR_INACTIVEBORDER		11	&& Inactive window border.
#define COLOR_INACTIVECAPTIONTEXT	19	&& Color of text in an inactive caption.

#define COLOR_INFOBK                24

#define COLOR_INFOTEXT			23	&& Text color for tooltip controls.
#define COLOR_MENUHILIGHT		29	&& The color used to highlight menu items when the menu appears as a flat menu
#define COLOR_MENUBAR			30	&&The background color for the menu bar when menus appear as flat menus
#define COLOR_SCROLLBAR			 0	&& Scroll bar gray area.

#define COLOR_DESKTOP			 1	& Desktop.
#define COLOR_BACKGROUND		 1	&& Desktop.
#define COLOR_ACTIVECAPTION		 2	&& Active window title bar

#define COLOR_INACTIVECAPTION		 3	&& Inactive window caption.
#define COLOR_MENU			 4	&& Menu background.

#define COLOR_MENUTEXT			 7	&& Text in menus.
#define COLOR_WINDOW			 5	&& Window background.
#define COLOR_WINDOWFRAME		 6	&& Window frame.
#define COLOR_WINDOWTEXT		 8 	&& Text in windows.